using System;
using System.Collections.Generic;
using AntEater.ComponentModel.Validation;

namespace AntEater.ComponentModel.BuildElements
{
    
    /// <summary>
    /// Provides an Interface for Container Build Elements.
    /// </summary>
    public interface IContainerBuildElement : IBuildElement
    {
        /// <summary>
        /// Gets the child elements.
        /// </summary>
        /// <value>The child elements.</value>
        BuildElementCollection ChildElements {
            get;
        }

        /// <summary>
        /// Determines whether this instance can insert the specified build element type.
        /// </summary>
        /// <param name="buildElementType">Type of the build element.</param>
        /// <returns>
        /// 	<c>true</c> if this instance can insert the specified build element type; otherwise, <c>false</c>.
        /// </returns>
        bool CanInsert(Type buildElementType);

    }
}
